(計実) 第3回 保護モード,パイプ,フィルタ,エディタ(2)
◆0.はじめに
◎出席: 今日のrespon:締切は15時
https://gyazo.com/f63df6d136766937b0cb455b649f0ea4
1. 教室番号/参加場所:対面はPC番号/OLは参加場所
2. キーワード:冒頭に伝える
3. 前回の内容の自己評価:成績とは無関係
★今回の注意★
前回の実習の様子を見た感じでは,ディレクトリの考え方や操作方法がまだよく分かっていない人が多いです.
一度読んだだけ・一度やってみただけでは本当の意味での理解はできません.教科書・本サイトの関連箇所を何度でも読み,何度でも操作を繰り返し,頭と体で理解するように努力しましょう( ディレクトリ操作は必ずテストに出る).
◎追加情報
1. 以下のコマンドで新規ユーザ登録します.
$ adduser ユーザ名(小文字のみ)▼
2. このままでは "sudo" コマンドが使えないので,sudoにユーザ名を登録します.
$ usermod -G sudo ユーザ名▼
3. さらに,Ubuntu起動時のデフォルトユーザを新規ユーザに指定します.
※Ubuntuではなく,Windowsデスクトップ上での作業
Win + R で入力窓
→ "Ubuntu config --default-user ユーザ名"
と入力して実行 → これで次回Ubuntu起動時に新規ユーザで開始
◎Unixの履歴機能
Unixのシェルには,履歴 (history) 機能がある. これが使えると仕事の効率がアップする.ぜひ使えるようになっておいてほしい. → くわしくは第4回にて学ぶ
a. プロンプトで上矢印キーを押すと,一つ前に入力したコマンドを呼び出せる.
b. "history"と入力すると,番号付き履歴リストが表示される.
c. "!xxx"(xxxは履歴番号)と,履歴番号を指定すると,そのコマンドを実行できる.
★今回の内容★
今回はUnixのファイル保護モード,パイプ,フィルタについて実習します.
※かなり盛りだくさんですが,ここがふんばりどころです.
★今回の課題から,Windows/MacOSのGUIエディタは使いません.すべてUnixのエディタ (nano または vi) を使ってください.nanoの追加学習もあります.またnano 以外のエディタについて vi を中心に紹介します.
まず,前回までの作業をきちんと終えていない人は, 必ずそれを終えてから本日の作業をしてください.
毎回の課題は,前回の作業が終えていないとできません.
教科書・本コンテンツ・関連文書をよく読み,実際に操作をして,自分が今何をやっているのかを 充分理解しながら学習を進めてください.
★次回以降★
次回はUnixの基本の最後で,日本語環境やシェルについて学びます.
また,次回からPythonプログラミングがスタートします.
code:第3回目次
1.便利コマンド(1) tree, man, less
2.保護モード(chmod)
3.標準入出力・パイプ
4.フィルタコマンド
5.エディタその2
では早速始めましょう.
◆1.便利コマンド(1) tree, man, less
が,ディレクトリの立体的な入れ子構造は,コマンドラインではやや分かりにいかもしれないので,"tree"コマンドを紹介する.今後,課題やテストでディレクトリ操作の問題が出た際にも,ディレクトリの確認をするのにtreeを使って構わない.
また,今後コマンドについて使い方を確認したい時に頼りになる"man"コマンド,さらにman pageに使われるページャ(テキストファイル閲覧)の"less"コマンドを紹介しておく.
これらは今後しょっちゅう使うことになるだろう.
以下を読んで実際に操作し,一通り使い方を理解すること.
◆2.保護モード
教科書の第 6 章「保護モードを理解する」(p.85~p.98) を読んで,文書中の例題を実際に入力し,順に確かめていきなさい.「今回の課題」はこれを理解していないと答えられない.
※上と同じく,1回やっただけではわからない.同じことを何回かやってみること.
◆3.標準入出力とパイプ
教科書 第7章「標準入出力を理解する」>7-1節「標準入出力・リダイレクション・パイプ」( p.101~p.109 ) を読み, テキスト中の例題を実際に入力し,順に確かめなさい.
※注意※
p.101で,以前作成したaaaというファイルがなければここで作成する.
p.102~103にでてくるmail コマンドは,WSLのUbuntuにはインストールされていない. MacOSにはインストールされているが,自PCの中でのローカルメールなので意味がない. ここは読むだけで構わない.
◆4.フィルタコマンド
上記パイプ機能を活用するとさまざまなことができるが, 特に便利なのはパイプ機能を活用できる「フィルタ」コマンドである.
以下のノートを読み,ターミナルで実際に操作・実行しなさい.
【補足】
上記テストにも出てきた主要なフィルタコマンドは様々な用途に使われる.
そして,それぞれの用途をさらに細かく指定したり,機能を追加したりするオプションが 数多く用意されている.
上記の最後に掲載してあるが,sort , head , tail , grep の主要なオプション表を再提示しておく.
https://gyazo.com/6d98e7d57688b9bc0f885bf420c547a6 https://gyazo.com/8c02a2a089e1fdf7fca5b791ed24bd48
<head のオプション> <tail のオプション>
https://gyazo.com/1d3271572abb5ffecc6950f02672b5c6 https://gyazo.com/84b542cd73f58153081d334b06973f97
<sort のオプション> <grep のオプション>
※今回の課題や実技テストにもオプションを用いるので,使えるようにしておくこと.そのためには実際に自分で試してみることが大切.
※コマンドには各々バージョンがあり,それによってオプションが異なることもある. UbuntuとMacOSでは異なることがある.自分のOSのman pageで確認しておこう.
◎参考:
上記の表は以下のサイトを参照させて頂いた. Unixのコマンドについてわかりやすく記述してあるので,man page代わりに参照してもよいだろう.
◆5.エディタその2
前回は簡単にnanoエディタを紹介したが,基本的な操作を伝えただけだった.
もしまだ以下の記事(再掲)を読んでいないならば,まず一通り使い方を学んでほしい.
今回はもう少しnanoに対する理解を深めよう.
また,他のエディタも紹介する ( おすすめはやはりvimエディタ ) .
今回の課題から,Windows/MacOSのGUIエディタは使わない.すべてUnixのエディタ (nano/vi) を使う.
■5-1 nanoエディタの続き
前回はとりあえず使ったが,そもそもnanoはどんなエディタなのかをまとめた.
その他のnanoのおすすめリンクは以下の通り.
★nanoの設定をいじる:
前回も紹介したが,nanoでできるさまざまな設定のうち,おすすめ設定を示しておく.
※説明:なぜこの設定を勧めるかを説明しよう.
エディタに限らず多くのOSやアプリでは,コピーペーストや保存などの基本的な操作は暗黙の了解で共通している(Ctrl+C, Ctrl+V, Ctrl+S 等) .
ところがnanoのデフォルト設定はそれをすべて無視している.
なので,常識的なキー操作に慣れた人には非常に使いづらい.
上のおすすめ設定は,nanoを一般的なキーバインドに変更する.
※設定内容がどういう作用かは,上に示したサイトなどで調べ,理解しながら使うこと.
※nanoの開発者やLinuxの配布者はこちらの方をデフォルトにしてほしいものだ.
※おまけ※:Windowsでもnanoは使える ( PowerShellウィンドウ内だが ) .
■5-2 vi エディタ
Unix使いなら,nanoだけでなく"vi"エディタを一度は使ってみてほしい.
また vi 以外にもemacsや後期計算機実習2 に使うVS Codeなども簡単に紹介する.
を読んでviの基本的な操作方法を見ておこう
また,viについて興味をもった人は次のノートもぜひ一読を.
★重要★
今後の課題はすべて,Win/MacのGUIエディタは禁止する.nano または viを使って作成すること.
← 厳密にチェックする方法はない.諸君を信じる.
以上.
2022/6/2 by Kobori Satoshi, Fujii Daisuke
[理系なら知っておくべき美しい数式03]
$ \square A^\mu - \partial^\mu (\partial_\nu A^\nu) = - \mu_0 j^\mu
マクスウェル方程式の四次元ポテンシャル表現